package com.hyts.reactive.module;

/**
 * project-name:coffice-toolbox
 * package-name:com.hyts.reactive.domain
 * author:Libo/Alex
 * create-date:2019-07-17 10:43
 * email:liboware@gmail.com
 * description: Observer message listener subject object
 */
public interface Observer<P> {

    /**
     * 监听操作服务
     * @param param
     * @return
     */
    void onEvent(P param);

    /**
     * 操作异常服务
     * @param throwable
     * @return
     */
    void onError(Throwable throwable);

    /**
     * 完成之后的线程处理
     * @return
     */
    void onFinish();
}
